﻿using System.ServiceModel;
using System.Threading.Tasks;
using System.Collections.Generic;

namespace HobSoft.SoccerBet2014.Domain.ClientService
{
    using Domain.Models;
    using Domain.Models.Site;

    /// <summary>
    /// 提供客户端登录网站，打货、更新赔率的简单代理服务
    /// </summary>
    [ServiceContract]
    public interface IBetSiteProxyService
    {
        [OperationContract]
        Task<bool> Register(byte bmId, string account);

        [OperationContract]
        Task<bool> Signup(byte bmId, string account, string password);

        [OperationContract]
        Task Sigout(byte bmId, string account);

        [OperationContract]
        Task StartSchedule(byte bmId, string account);

        [OperationContract]
        Task StopSchedule(byte bmId, string account);

        [OperationContract]
        Task<BetTick> RequestTick(byte bmId, string gameId, Odds.MarketType type, OddsPrice price, decimal handicap, string remoteOddsId);

        [OperationContract]
        Task<BetTick> RequestTick(BetTick old, bool reset);

        [OperationContract]
        Task<BettingResult> RequestBetting(BetTick tick, decimal money);

        [OperationContract]
        Task<IList<BettingOrder>> RequestAllOrder();

        [OperationContract]
        Task<bool> HasLogin(byte bmId);
    }
}
